package cn.kkdlk.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author ytzjj
 * @DateTime 2024/10/14 9:58
 * @Description 样式实体
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
public class VectorStyle {

    /**
     * {"Point" | "LineString" | "Polygon" | "Text"} classify - Feature数据类型
     */
    private String classify;

    /**
     * 文字标注内容
     */
    private String text;

    /**
     * 是否渲染文本
     */
    private Boolean visibleLabel;

    // =======================================================
    /**
     * 是否渲染点坐标
     */
    private Boolean visiblePoint;
    /**
     * 字体
     */
    private String fontFamily;
    /**
     * 文本颜色
     */
    private String fontColor;
    /**
     * 文本大小
     */
    private Double fontSize;
    /**
     * 描边颜色
     */
    private String fontStrokeColor;
    /**
     * 描边宽度
     */
    private Double fontStrokeSize;
    /**
     * 文本旋转角度
     */
    private Double fontRotation;
    /**
     * 文本对齐方式
     * "center" | "end" | "left" | "right" | "start"
     */
    private String textAlign;

    // =======================================================
    /**
     * 图标名称
     */
    private String iconName;
    /**
     * {"BasicIcon" | "VectorIcon"} iconType - 图标类型
     */
    private String iconType;
    /**
     * 图标大小
     */
    private Double iconSize;
    /**
     * 图标填充颜色
     */
    private String iconColor;
    /**
     * 图标描边颜色
     */
    private String iconStrokeColor;
    /**
     * 图标描边大小
     */
    private Double iconStrokeSize;


    // =======================================================
    /**
     * 是否显示线标注
     */
    private Boolean visibleLineString;
    /**
     * 线颜色
     */
    private String lineStringColor;

    /**
     * 线条宽度
     */
    private Double lineStringWidth;
    /**
     * 线条描述 虚线 实线
     */
    private Double[] lineStringLineDash;

    // =======================================================
    /**
     * 是否显示面标注
     */
    private Boolean visiblePolygon;
    /**
     * 面填充色
     */
    private String polygonFillColor;
    /**
     * 面边距线宽度
     */
    private Double polygonBorderWidth;
    /**
     * 面边框颜色
     */
    private String polygonBorderColor;
    /**
     * 线条描述 虚线 实线
     */
    private Double[] polygonBorderLineDash;


}
